package com.lanou.mapper;

import com.lanou.bean.AdminInfo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface AdminInfoMapper {
    int deleteByPrimaryKey(Integer adminId);

    int insert(AdminInfo record);

    int insertSelective(AdminInfo record);

    AdminInfo selectByPrimaryKey(Integer adminId);

    int updateByPrimaryKeySelective(AdminInfo record);

    int updateByPrimaryKey(AdminInfo record);

    AdminInfo selectAdmin(AdminInfo adminInfo);

//    根据id查询角色信息
    List<Integer> selectRoleIdById(Integer admin_id);
//    根据roleid查询name
    String selectroleNameById(Integer role_id);


//    查询所有管理员信息
    List<AdminInfo> selectAllAdmin();


//      插入数据
    int insertAdmin(@Param("admin_code")String admin_code,@Param("name") String name,@Param("password")String password,@Param("telephone")String telephone,@Param("email")String email);
//    根据插入名字获取id
    int selectIdByname(String admin_code);

//    根据获取的选择框获取role_id
    Integer getId(String name);

//    插入关联关系
    int insertAdminRole(@Param("admin_id") Integer admin_id,@Param("role_id") Integer role_id);



//    获取所有的角色信息
    List<String> selectRoleList();



//    删除管理员信息
//    1：删除管理员表
    int deleteAdmin(Integer admin_id);

//    根据admin_id获取role_id
    List<Integer> getRoleId(Integer admin_id);

    //    删除role_info中的name
    int deleteroleByRoleId(Integer role_id);

    //    2：删除中间表信息
    int deleteAdminRoleInfo(Integer admin_id);


//    修改信息
    //根据携带的id信息进行数据回显
    AdminInfo selectAdminInfoById(Integer admin_id);
// 管理员信息的更新
    int updateAdminInfoById(@Param("admin_id") Integer admin_id,@Param("admin_code") String admin_code,@Param("name") String name,@Param("telephone") String telephone,@Param("email") String email);
//  插入角色信息

//删除中间表的关联主键信息
//int deleteAdminRoleInfo(Integer admin_id);

    //应用上边的插入操作
//    //    根据获取的选择框获取role_id
//    Integer getId(String name);
//
//    //    插入关联关系
//    int insertAdminRole(@Param("admin_id") Integer admin_id,@Param("role_id") Integer role_id);

    List<Integer> selectAdminId();

   int updateSave(@Param("admin_id") Integer admin_id,@Param("name")String name,@Param("telephone")String telephone,@Param("email")String email);


   int updatepassword(@Param("admin_id") Integer admin_id,@Param("password") String password);
}